#ifndef SCDATATHREAD_H
#define SCDATATHREAD_H

// ScDataThread
// 循环截图并发送位图数据到服务端的线程类
// 2024/1/14


#include <QObject>
#include <QThread>
#include "rdpcore.h"
#include "netcore.h"

// **
//
// 循环抓图并发送的线程类
//   该类继承QThread，并循环抓图并发送给服务端
//
// created by yiyefangzhou24
// created time 2024/1/5
//
// **


class ScDataThread : public QThread
{
    Q_OBJECT
public:
    ScDataThread();

    // 通知线程结束死循环后结束
    void stop();

    // 配置信息
    void setConfig(int x, int y, int width, int height, int fps, int bit, NetCore * netCore);

protected:
    void run() override;

signals:

    // 信号函数 - 负责处理和UI的通讯
    void sigUImsg(QString msg);

private:

    bool m_running;         //结束信号

    rdpCore rdp;            //抓屏核心类

    NetCore * netCore = nullptr;    //网络核心类

    int indexX;             //x轴数量
    int indexY;             //y轴数量
    int scWidth;            //屏幕宽度
    int scHeight;           //屏幕高度
    int fps;                //抓屏间隔ms
};

#endif // SCDATATHREAD_H
